package com.betterman.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * 解决跨域问题
 *
 * @author <a href="mailto:foxfocus@163.com">fox</a>
 * @version 6:30 下午 2020/7/19
 */
@Configuration
public class CrosConfig implements WebMvcConfigurer {

    /**
     * 配置跨域信息 <br/>
     * <ul>
     * <li>mapping 映射地址  /** 匹配0或者更多的目录</li>
     * <li>origins 表示请求来自于哪个站点，用于 CORS 和 POST 请求中，不包含路径信息，其他和 refer 相同</li>
     * <li>credentials 为 true 允许浏览器读取 response 的内容</li>
     * </ul>
     * @param registry registry
     */
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
                .allowCredentials(true)
                .maxAge(3600)
                .allowedHeaders("*");
    }
}
